/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.jfonia.view.symbols;

import java.awt.geom.Rectangle2D;
import org.jfonia.connect5.basics.ValueNode;

/**
 *
 * @author Rik Bauwens
 */
public interface IStaffSymbol extends ISymbol
{
        public ValueNode<Double> getFloorYNode();

        public ValueNode<Double> getCeilingYNode();

        public double getX();

        public double getY();

        //Amount of space occupied before x (relative)
        public double getPreX();

        //Amount of space occupied after x (relative)
        public double getPostX();

        //Amount of space occupied above Y (relative)
        public double getPreY();

        //Amount of space occupied below y (relative)
        public double getPostY();

        public void setSelected(boolean selected);

        public boolean intersectsAbsoluteTo(Rectangle2D rectangle);

        public Rectangle2D getBounds();

        public Rectangle2D getAbsoluteBounds();

        public boolean intersectsTo(Rectangle2D rectangle);

}
